Java Jr: Fully Abstract Trace Semantics for a Core Java Language

نویسندگان

  • Alan Jeffrey
  • Julian Rathke
چکیده

We introduce an expressive yet semantically clean core Java-like language, Java Jr., and provide it with a formal operational semantics based on traces of observable actions which represent interaction across package boundaries. A detailed example based on the Observer Pattern is used to demonstrate the intuitive character of the semantic model. We also show that our semantic trace equivalence is fully-abstract with respect to a natural notion of testing equivalence for object systems. This is the first such result for a full class-based OO-language with inheritance.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Full Abstraction at Package Boundaries of Object-Oriented Languages

We develop a fully abstract trace-based semantics for sets of classes in object-oriented languages, in particular for Java-like sealed packages. Our approach enhances a standard operational semantics such that the change of control between the package and the client context is made explicit in terms of interaction labels. By using traces over these labels, we abstract from the data representati...

متن کامل

Focused Static Analyses for the Java Bytecode

Flow sensitive static analyses are often more precise than their flow insensitive counterparts, but much more expensive. To cope with this problem, we defined, some years ago, a watchpoint semantics as an abstract interpretation of a trace semantics. It is not itself a trace semantics, but it lets us specify flow and control sensitive analyses which are focused on a given set of program points ...

متن کامل

A Type-based Trace Analysis for Java

The intersection type discipline (ITD) is a well established one in the field of the Lambda Calculus (LC) and the functional programming paradigm. It has also been extended to Term Rewriting Systems (TRS) and more recently to object calculi and sequent calculi. We continue this trend by applying the techniques of ITD to the analysis of the (class based) object-oriented (OO) programming paradigm...

متن کامل

Implementing a Serializer Using a Java XML Schema API

W3C XML (Extensible Markup Language) Schema defines a set of abstract components, which carry the core semantics of document structure definition. There has been no standard API for accessing these components or their structures yet. The MARKUP Technology Company has specified a Java API for accessing XML Schema and submitted it to the W3C as a possible basis for standard Schema API. An overvie...

متن کامل

On state classes and their dynamic semantics

We introduce state classes, a construct to program objects that can be safely concurrently accessed. State classes model the notion of object’s state (intended as some abstraction over the value of fields) that plays a key role in concurrent object-oriented programming (as the state of an object changes, so does its coordination behavior). We show how state classes can be added to Java-like lan...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005